#ifndef _LABIRINTO_H_
#define _LABIRINTO_H_

#include <vector>
#include <list>
#include <iostream>

#include "no.h"

using namespace std;

/// s1: 1, 6, 8, 7, 1 (19)
/// s2: 1, 6, 6, 7, 1 (19)
/// s3: 1, 6, 6, 7, 1 (19)

class Labirinto {
public:
	Labirinto();
	virtual ~Labirinto();

	void escreve();
	void solucao();
	void insereFilho(No* atual, pair<int, int> filho);

private:
	list<No*> prioridade;
	vector< vector<int> > mat;
	No* sol_atual;
	bool temSolucao;
};

#endif /*_LABIRINTO_H_*/
